function [SELM_Weight, SELM_bias] = generate_SELM_Weight(data_train, random_indices, SELM_threshold,Deactivation_ratio)
    SELM_Weight = [];
    SELM_bias = [];
    % 获取 data_train 的列数
    [~, num_cols] = size(data_train);
    if num_cols > 900
        % 计算要置零的列数
        num_cols_to_zero = round(Deactivation_ratio * num_cols);
        % 生成一个长度为 num_cols 的随机排列
        random_cols = randperm(num_cols);
        % 将前 num_cols_to_zero 列的数据置为 0
        data_train(:, random_cols(1:num_cols_to_zero)) = 0;
    end
    for i = 1:size(random_indices, 1)
        sample_temp = data_train(random_indices(i, 1), 2:end);
        SELM_Weight_temp = sample_temp;
        NormWeight = dot(SELM_Weight_temp, SELM_Weight_temp);
        
        if NormWeight >= SELM_threshold
            SELM_Weight_temp = SELM_Weight_temp ./ (NormWeight / 2);
            SELM_bias_temp = rand(1, 1);
            
            SELM_Weight = [SELM_Weight; SELM_Weight_temp];
            SELM_bias = [SELM_bias, SELM_bias_temp];
        end
    end
end
